package demo3;

/**
 * 粉刷房子
 */
public class test4 {
    public int minCost(int[][] costs) {
        // 创建dp表
        int n = costs.length;
        int[][] dp = new int[n+1][3];
        // 初始化

        // 填表
        for(int i=1;i<=n;i++){
            dp[i][0] = Math.min(dp[i-1][1],dp[i-1][2])+costs[i-1][0];
            dp[i][1] = Math.min(dp[i-1][0],dp[i-1][2])+costs[i-1][1];
            dp[i][2] = Math.min(dp[i-1][0],dp[i-1][1])+costs[i-1][2];
        }
        return Math.min(Math.min(dp[n][0],dp[n][1]),dp[n][2]);
    }
}
